🎣

Retrieval Checking

Retrieval checking

Spark checkers perform the assigned retrievals from SPs.

Once the Spark checkers have determined the list of retrieval tasks they must perform in the round, they begin to run their checks.

There is an in-depth discussion on how this part of the protocol works here: https://blog.filstation.app/posts/how-spark-retrieves-content-stored-on-filecoin

Here is a summary taken from the blog post:

A Spark Checker’s retrieval test of (CID, providerID) is performed with the following steps:

  1. Call Filecoin RPC API method Filecoin.StateMinerInfo to map providerID to PeerID.
  1. Call https://cid.contact/cid/{CID} to obtain all retrieval providers for the given CID.
  1. Filter the response to find the provider identified by PeerID found in Step 1 and obtain the multiaddr(s) where this provider serves retrievals.
  1. Retrieve the root block of the content identified by CID from that multiaddr using Graphsync or the IPFS Trustless Gateway protocol (over HTTP). It uses the protocol advertised to IPNI for the retrieval. If both protocols are advertised, then it chooses HTTP.
  1. Verify that the received block matches the CID.

On this page